LinuxQMISDK-Lite  SLQS04.00.27
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
QmiService Struct Reference

Data Fields

struct QmiServicepNext
 
uint8_t serviceType
 
uint8_t clientId
 
struct QmuxTransportpTransport
 
uint16_t transactionId
 
pthread_mutex_t transactionIdLock
 
QmiTransaction transactionPool [10]
 
pthread_mutex_t transactionPoolLock
 
QMI_INDICATION_CALLBACK pIndicationCallback
 
void * pIndicationCallbackContext
 
int deviceFd
 
struct QmuxTransportpQcqmitransport
 

Detailed Description

This structure abstracts a QMI service. It is responsible issuing transaction IDs. It tracks QMI requests and responses using transaction objects from a pool. It invokes a user callback when QMI indications which match its client ID (or a broadcast ID) are received from the transport layer.

Parameters
pNext
  • A link so we can store this object in a linked list by the transport layer.
serviceType
  • QMI service type, CTL, NAS, etc.
clientId
  • QMI client ID
pTransport
  • Pointer to underlying QMUX transport object.
transactionId
  • QMI transaction ID. Upper limit 0xffff for regular QMI services, 0xff for CTL service.
transactionIdLock
  • Mutex to make transactionId access thread-safe.
transactionPool
  • Pool of transaction objects which may be assigned to QMI requests made by clients of this service.
transactionPoolLock
  • Mutex to make transactionPool access thread-safe
pIndicationCallback
  • User callback for QMI indications of this service.
pIndicationCallbackContext
  • User context for user callback.
deviceFd
  • Store service fd.
pQcqmitransport
  • Pointer to QMI service transport object.

Field Documentation

uint8_t QmiService::clientId
int QmiService::deviceFd
QMI_INDICATION_CALLBACK QmiService::pIndicationCallback
void* QmiService::pIndicationCallbackContext
struct QmiService* QmiService::pNext
struct QmuxTransport* QmiService::pQcqmitransport
struct QmuxTransport* QmiService::pTransport
uint8_t QmiService::serviceType
uint16_t QmiService::transactionId
pthread_mutex_t QmiService::transactionIdLock
QmiTransaction QmiService::transactionPool[10]
pthread_mutex_t QmiService::transactionPoolLock

Copyright (c) 2011-2015 Sierra Wireless, Inc. All rights reserved